<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>My Project: sc2::ObservationImp Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">My Project
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><b>sc2</b></li><li class="navelem"><a class="el" href="classsc2_1_1_observation_imp.html">ObservationImp</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="classsc2_1_1_observation_imp-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">sc2::ObservationImp Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for sc2::ObservationImp:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classsc2_1_1_observation_imp.png" usemap="#sc2::ObservationImp_map" alt=""/>
  <map id="sc2::ObservationImp_map" name="sc2::ObservationImp_map">
<area href="classsc2_1_1_observation_interface.html" title="The ObservationInterface reflects the current state of the game. Guaranteed to be valid when the OnSt..." alt="sc2::ObservationInterface" shape="rect" coords="0,0,157,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a862b6bc29806a415caafa84add850e12"><td class="memItemLeft" align="right" valign="top"><a id="a862b6bc29806a415caafa84add850e12"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>ObservationImp</b> (<a class="el" href="classsc2_1_1_proto_interface.html">ProtoInterface</a> &amp;proto, <a class="el" href="classsc2_1_1_message_response_ptr.html">ObservationPtr</a> &amp;observation, <a class="el" href="classsc2_1_1_message_response_ptr.html">ResponseObservationPtr</a> &amp;response)</td></tr>
<tr class="separator:a862b6bc29806a415caafa84add850e12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d6f5926e68ebeae4f2e8b21d8566f45"><td class="memItemLeft" align="right" valign="top"><a id="a5d6f5926e68ebeae4f2e8b21d8566f45"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>ClearFlags</b> ()</td></tr>
<tr class="separator:a5d6f5926e68ebeae4f2e8b21d8566f45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae86306fc8a2112ca042234e97f5a8b90"><td class="memItemLeft" align="right" valign="top"><a id="ae86306fc8a2112ca042234e97f5a8b90"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_observation_imp.html#ae86306fc8a2112ca042234e97f5a8b90">GetPlayerID</a> () const</td></tr>
<tr class="memdesc:ae86306fc8a2112ca042234e97f5a8b90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a unique ID that represents the player. <br /></td></tr>
<tr class="separator:ae86306fc8a2112ca042234e97f5a8b90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3609e4280e31b27e0e35a08cfbe757ca"><td class="memItemLeft" align="right" valign="top"><a id="a3609e4280e31b27e0e35a08cfbe757ca"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_observation_imp.html#a3609e4280e31b27e0e35a08cfbe757ca">GetGameLoop</a> () const final</td></tr>
<tr class="memdesc:a3609e4280e31b27e0e35a08cfbe757ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current game loop indicated by the last observation. <br /></td></tr>
<tr class="separator:a3609e4280e31b27e0e35a08cfbe757ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c3f520595df2948ca7f2a1432b1dcae"><td class="memItemLeft" align="right" valign="top"><a id="a0c3f520595df2948ca7f2a1432b1dcae"></a>
const Units &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_observation_imp.html#a0c3f520595df2948ca7f2a1432b1dcae">GetUnits</a> () const final</td></tr>
<tr class="memdesc:a0c3f520595df2948ca7f2a1432b1dcae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a list of all known units in the game. <br /></td></tr>
<tr class="separator:a0c3f520595df2948ca7f2a1432b1dcae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ec74a3937ae047dbeb78575c79091d4"><td class="memItemLeft" align="right" valign="top">Units&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_observation_imp.html#a9ec74a3937ae047dbeb78575c79091d4">GetUnits</a> (Unit::Alliance alliance, <a class="el" href="sc2__interfaces_8h.html#af4abbeea3291e718cf2283e1390f3670">Filter</a> filter={}) const final</td></tr>
<tr class="separator:a9ec74a3937ae047dbeb78575c79091d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb210dcc3b4ac518543902d97aee4b10"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classsc2_1_1_unit.html">Unit</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_observation_imp.html#abb210dcc3b4ac518543902d97aee4b10">GetUnit</a> (uint64_t tag) const final</td></tr>
<tr class="separator:abb210dcc3b4ac518543902d97aee4b10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0f23420019a31bf108d4ce9eec62cc9"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classsc2_1_1_unit.html">Unit</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_observation_imp.html#ae0f23420019a31bf108d4ce9eec62cc9">GetPreviousUnit</a> (uint64_t tag) const final</td></tr>
<tr class="separator:ae0f23420019a31bf108d4ce9eec62cc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f4061d42b035d297b8a8bd0f73e5241"><td class="memItemLeft" align="right" valign="top">const Units &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_observation_imp.html#a0f4061d42b035d297b8a8bd0f73e5241">GetUnitsAdded</a> () const final</td></tr>
<tr class="separator:a0f4061d42b035d297b8a8bd0f73e5241"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c2fd3bf3abf69dcb868c7cd0a7ffeae"><td class="memItemLeft" align="right" valign="top">const Units &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_observation_imp.html#a6c2fd3bf3abf69dcb868c7cd0a7ffeae">GetUnitsRemoved</a> () const final</td></tr>
<tr class="separator:a6c2fd3bf3abf69dcb868c7cd0a7ffeae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accd36bca2251ff23157a37a5197afc32"><td class="memItemLeft" align="right" valign="top"><a id="accd36bca2251ff23157a37a5197afc32"></a>
const RawActions &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetRawActions</b> () const final</td></tr>
<tr class="separator:accd36bca2251ff23157a37a5197afc32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad05dbbcda24c6c43be0e9c97c3c9211b"><td class="memItemLeft" align="right" valign="top"><a id="ad05dbbcda24c6c43be0e9c97c3c9211b"></a>
const <a class="el" href="structsc2_1_1_score.html">Score</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetScore</b> () const final</td></tr>
<tr class="separator:ad05dbbcda24c6c43be0e9c97c3c9211b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a142311ec3e6ab5128aca87ea3e82c139"><td class="memItemLeft" align="right" valign="top"><a id="a142311ec3e6ab5128aca87ea3e82c139"></a>
const Abilities &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetAbilityData</b> (bool force_refresh=false) const final</td></tr>
<tr class="separator:a142311ec3e6ab5128aca87ea3e82c139"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d68d02d19f7810e60ccfebdd555fa6d"><td class="memItemLeft" align="right" valign="top"><a id="a8d68d02d19f7810e60ccfebdd555fa6d"></a>
const UnitTypes &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetUnitTypeData</b> (bool force_refresh=false) const final</td></tr>
<tr class="separator:a8d68d02d19f7810e60ccfebdd555fa6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca92e7d4a955461692720481903e596b"><td class="memItemLeft" align="right" valign="top"><a id="aca92e7d4a955461692720481903e596b"></a>
const <a class="el" href="structsc2_1_1_map_info.html">MapInfo</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>GetMapInfo</b> () const final</td></tr>
<tr class="separator:aca92e7d4a955461692720481903e596b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b21ca608004c8373a3fbf41cbd6aff8"><td class="memItemLeft" align="right" valign="top"><a id="a2b21ca608004c8373a3fbf41cbd6aff8"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_observation_imp.html#a2b21ca608004c8373a3fbf41cbd6aff8">GetMinerals</a> () const final</td></tr>
<tr class="memdesc:a2b21ca608004c8373a3fbf41cbd6aff8"><td class="mdescLeft">&#160;</td><td class="mdescRight">The mineral count of the player. <br /></td></tr>
<tr class="separator:a2b21ca608004c8373a3fbf41cbd6aff8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04ff3da52e40caef820ea50c9eaefa35"><td class="memItemLeft" align="right" valign="top"><a id="a04ff3da52e40caef820ea50c9eaefa35"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_observation_imp.html#a04ff3da52e40caef820ea50c9eaefa35">GetVespene</a> () const final</td></tr>
<tr class="memdesc:a04ff3da52e40caef820ea50c9eaefa35"><td class="mdescLeft">&#160;</td><td class="mdescRight">The vespene count of the player. <br /></td></tr>
<tr class="separator:a04ff3da52e40caef820ea50c9eaefa35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e109c30ac039c19bf0c7d3b35bd7ab7"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_observation_imp.html#a5e109c30ac039c19bf0c7d3b35bd7ab7">GetFoodCap</a> () const final</td></tr>
<tr class="separator:a5e109c30ac039c19bf0c7d3b35bd7ab7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5489d7a3c6095b29c82e835bb3eb2aba"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_observation_imp.html#a5489d7a3c6095b29c82e835bb3eb2aba">GetFoodUsed</a> () const final</td></tr>
<tr class="separator:a5489d7a3c6095b29c82e835bb3eb2aba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97f6013fc1578cc1db1266d39edab7c4"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_observation_imp.html#a97f6013fc1578cc1db1266d39edab7c4">GetFoodArmy</a> () const final</td></tr>
<tr class="separator:a97f6013fc1578cc1db1266d39edab7c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88f76eedeac5d81f608b68ca3ff69782"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_observation_imp.html#a88f76eedeac5d81f608b68ca3ff69782">GetFoodWorkers</a> () const final</td></tr>
<tr class="separator:a88f76eedeac5d81f608b68ca3ff69782"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25d0052c15ff3f0fcc2e6c63801f659f"><td class="memItemLeft" align="right" valign="top"><a id="a25d0052c15ff3f0fcc2e6c63801f659f"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_observation_imp.html#a25d0052c15ff3f0fcc2e6c63801f659f">GetIdleWorkerCount</a> () const final</td></tr>
<tr class="memdesc:a25d0052c15ff3f0fcc2e6c63801f659f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of workers that currently have no orders. <br /></td></tr>
<tr class="separator:a25d0052c15ff3f0fcc2e6c63801f659f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a694cbb593716e78de0f651790194a6b2"><td class="memItemLeft" align="right" valign="top"><a id="a694cbb593716e78de0f651790194a6b2"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>GetArmyCount</b> () const final</td></tr>
<tr class="separator:a694cbb593716e78de0f651790194a6b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ca93e4c0bef3538f5c95faf92f166e0"><td class="memItemLeft" align="right" valign="top"><a id="a0ca93e4c0bef3538f5c95faf92f166e0"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_observation_imp.html#a0ca93e4c0bef3538f5c95faf92f166e0">GetWarpGateCount</a> () const final</td></tr>
<tr class="memdesc:a0ca93e4c0bef3538f5c95faf92f166e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of warp gates owned by the player. This value should only be nonzero for Protoss. <br /></td></tr>
<tr class="separator:a0ca93e4c0bef3538f5c95faf92f166e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a357532eefc1ddccbc580773f9b939089"><td class="memItemLeft" align="right" valign="top"><a id="a357532eefc1ddccbc580773f9b939089"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_observation_imp.html#a357532eefc1ddccbc580773f9b939089">GetLarvaCount</a> () const final</td></tr>
<tr class="memdesc:a357532eefc1ddccbc580773f9b939089"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of available larva. This value should only be nonzer for zerg. <br /></td></tr>
<tr class="separator:a357532eefc1ddccbc580773f9b939089"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab77543fa1b95c5e348343129a21c84a3"><td class="memItemLeft" align="right" valign="top">const GameStateProtocol::Observation *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classsc2_1_1_observation_imp.html#ab77543fa1b95c5e348343129a21c84a3">GetRawObservation</a> () const final</td></tr>
<tr class="memdesc:ab77543fa1b95c5e348343129a21c84a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">A pointer to the last Observation obtained from GetObservation. While it's possible to extract most in game data from this pointer.  <a href="#ab77543fa1b95c5e348343129a21c84a3">More...</a><br /></td></tr>
<tr class="separator:ab77543fa1b95c5e348343129a21c84a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af32c4583c928b3db1028768787dda3f6"><td class="memItemLeft" align="right" valign="top"><a id="af32c4583c928b3db1028768787dda3f6"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>UpdateObservation</b> (<a class="el" href="classsc2_1_1_client_events.html">ClientEvents</a> *client_events)</td></tr>
<tr class="separator:af32c4583c928b3db1028768787dda3f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f40fe49b02f4e7476f18cc6b18fc369"><td class="memItemLeft" align="right" valign="top"><a id="a9f40fe49b02f4e7476f18cc6b18fc369"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>IssueCallbacks</b> (<a class="el" href="classsc2_1_1_client_events.html">ClientEvents</a> *client_events)</td></tr>
<tr class="separator:a9f40fe49b02f4e7476f18cc6b18fc369"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a2da4769089aaa2fed62ea2ff4c23bca7"><td class="memItemLeft" align="right" valign="top"><a id="a2da4769089aaa2fed62ea2ff4c23bca7"></a>
<a class="el" href="classsc2_1_1_proto_interface.html">ProtoInterface</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>proto_</b></td></tr>
<tr class="separator:a2da4769089aaa2fed62ea2ff4c23bca7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0716ce44205b32255e5ae942b9af746f"><td class="memItemLeft" align="right" valign="top"><a id="a0716ce44205b32255e5ae942b9af746f"></a>
<a class="el" href="classsc2_1_1_message_response_ptr.html">ObservationPtr</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>observation_</b></td></tr>
<tr class="separator:a0716ce44205b32255e5ae942b9af746f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac17e83b8d74d06516a3e5d8884c6c94b"><td class="memItemLeft" align="right" valign="top"><a id="ac17e83b8d74d06516a3e5d8884c6c94b"></a>
<a class="el" href="classsc2_1_1_message_response_ptr.html">ResponseObservationPtr</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>response_</b></td></tr>
<tr class="separator:ac17e83b8d74d06516a3e5d8884c6c94b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17cad1ac1d7d9b49dc11fcae1c1b54d2"><td class="memItemLeft" align="right" valign="top"><a id="a17cad1ac1d7d9b49dc11fcae1c1b54d2"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>player_id_</b></td></tr>
<tr class="separator:a17cad1ac1d7d9b49dc11fcae1c1b54d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04fa83a62315b857823483ecb0897a8b"><td class="memItemLeft" align="right" valign="top"><a id="a04fa83a62315b857823483ecb0897a8b"></a>
Units&#160;</td><td class="memItemRight" valign="bottom"><b>units_</b></td></tr>
<tr class="separator:a04fa83a62315b857823483ecb0897a8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3492efac76e60fa0e8ced127390b0be4"><td class="memItemLeft" align="right" valign="top"><a id="a3492efac76e60fa0e8ced127390b0be4"></a>
Units&#160;</td><td class="memItemRight" valign="bottom"><b>units_previous_</b></td></tr>
<tr class="separator:a3492efac76e60fa0e8ced127390b0be4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6fb91f143f1ad8fd7e392a4c41c4a38"><td class="memItemLeft" align="right" valign="top"><a id="ab6fb91f143f1ad8fd7e392a4c41c4a38"></a>
UnitIdxMap&#160;</td><td class="memItemRight" valign="bottom"><b>units_previous_map_</b></td></tr>
<tr class="separator:ab6fb91f143f1ad8fd7e392a4c41c4a38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8f8d06521086006b59c21f96e0fab69"><td class="memItemLeft" align="right" valign="top"><a id="ac8f8d06521086006b59c21f96e0fab69"></a>
Units&#160;</td><td class="memItemRight" valign="bottom"><b>units_added_</b></td></tr>
<tr class="separator:ac8f8d06521086006b59c21f96e0fab69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98df5eaabf44a9a22b6998ef612e8134"><td class="memItemLeft" align="right" valign="top"><a id="a98df5eaabf44a9a22b6998ef612e8134"></a>
Units&#160;</td><td class="memItemRight" valign="bottom"><b>units_removed_</b></td></tr>
<tr class="separator:a98df5eaabf44a9a22b6998ef612e8134"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad83639031944ec89a74a2a2294ee1292"><td class="memItemLeft" align="right" valign="top"><a id="ad83639031944ec89a74a2a2294ee1292"></a>
uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>current_game_loop_</b></td></tr>
<tr class="separator:ad83639031944ec89a74a2a2294ee1292"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad84ac8e47c4d1eb072452f43e528d70e"><td class="memItemLeft" align="right" valign="top"><a id="ad84ac8e47c4d1eb072452f43e528d70e"></a>
RawActions&#160;</td><td class="memItemRight" valign="bottom"><b>raw_actions_</b></td></tr>
<tr class="separator:ad84ac8e47c4d1eb072452f43e528d70e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94762b88f305eb3d526af77798906fa6"><td class="memItemLeft" align="right" valign="top"><a id="a94762b88f305eb3d526af77798906fa6"></a>
<a class="el" href="structsc2_1_1_map_info.html">MapInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><b>map_info_</b></td></tr>
<tr class="separator:a94762b88f305eb3d526af77798906fa6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a468bacf333f73d03916e38e916b79d5a"><td class="memItemLeft" align="right" valign="top"><a id="a468bacf333f73d03916e38e916b79d5a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>map_info_cached_</b></td></tr>
<tr class="separator:a468bacf333f73d03916e38e916b79d5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5228baa3989a8a865ab9bb52e7c87fee"><td class="memItemLeft" align="right" valign="top"><a id="a5228baa3989a8a865ab9bb52e7c87fee"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>minerals_</b></td></tr>
<tr class="separator:a5228baa3989a8a865ab9bb52e7c87fee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7db99324c51040ee9993fb34e02f0667"><td class="memItemLeft" align="right" valign="top"><a id="a7db99324c51040ee9993fb34e02f0667"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>vespene_</b></td></tr>
<tr class="separator:a7db99324c51040ee9993fb34e02f0667"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64ff0ede7e0e82e3e5c5652921365fc3"><td class="memItemLeft" align="right" valign="top"><a id="a64ff0ede7e0e82e3e5c5652921365fc3"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>food_cap_</b></td></tr>
<tr class="separator:a64ff0ede7e0e82e3e5c5652921365fc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a270631a1c5b8540d434c31197bed52c7"><td class="memItemLeft" align="right" valign="top"><a id="a270631a1c5b8540d434c31197bed52c7"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>food_used_</b></td></tr>
<tr class="separator:a270631a1c5b8540d434c31197bed52c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a665b9f4491639cf90fbc5286917f51cd"><td class="memItemLeft" align="right" valign="top"><a id="a665b9f4491639cf90fbc5286917f51cd"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>food_army_</b></td></tr>
<tr class="separator:a665b9f4491639cf90fbc5286917f51cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa452dc8c62f7b287a6729d4514f8b668"><td class="memItemLeft" align="right" valign="top"><a id="aa452dc8c62f7b287a6729d4514f8b668"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>food_workers_</b></td></tr>
<tr class="separator:aa452dc8c62f7b287a6729d4514f8b668"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab718b833210952045be015a4b53146db"><td class="memItemLeft" align="right" valign="top"><a id="ab718b833210952045be015a4b53146db"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>idle_worker_count_</b></td></tr>
<tr class="separator:ab718b833210952045be015a4b53146db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35fe4919cef0782f4ca4fe4e38f00f91"><td class="memItemLeft" align="right" valign="top"><a id="a35fe4919cef0782f4ca4fe4e38f00f91"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>army_count_</b></td></tr>
<tr class="separator:a35fe4919cef0782f4ca4fe4e38f00f91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3c6fc205ca676db56612268e88fc164"><td class="memItemLeft" align="right" valign="top"><a id="ab3c6fc205ca676db56612268e88fc164"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>warp_gate_count_</b></td></tr>
<tr class="separator:ab3c6fc205ca676db56612268e88fc164"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae04f15a732821f78a1cd7ff3ef8a2d30"><td class="memItemLeft" align="right" valign="top"><a id="ae04f15a732821f78a1cd7ff3ef8a2d30"></a>
int32_t&#160;</td><td class="memItemRight" valign="bottom"><b>larva_count_</b></td></tr>
<tr class="separator:ae04f15a732821f78a1cd7ff3ef8a2d30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d57c045ce99c51aba8d07a1356f7bad"><td class="memItemLeft" align="right" valign="top"><a id="a3d57c045ce99c51aba8d07a1356f7bad"></a>
Abilities&#160;</td><td class="memItemRight" valign="bottom"><b>abilities_</b></td></tr>
<tr class="separator:a3d57c045ce99c51aba8d07a1356f7bad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8e87c71a5198f7377abf1a44a71d19e"><td class="memItemLeft" align="right" valign="top"><a id="ad8e87c71a5198f7377abf1a44a71d19e"></a>
UnitTypes&#160;</td><td class="memItemRight" valign="bottom"><b>unit_types_</b></td></tr>
<tr class="separator:ad8e87c71a5198f7377abf1a44a71d19e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c6fbf535b3faa1e493eb1657260a14c"><td class="memItemLeft" align="right" valign="top"><a id="a3c6fbf535b3faa1e493eb1657260a14c"></a>
<a class="el" href="structsc2_1_1_score.html">Score</a>&#160;</td><td class="memItemRight" valign="bottom"><b>score_</b></td></tr>
<tr class="separator:a3c6fbf535b3faa1e493eb1657260a14c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ec3b27fd52c60b8f1424b01abaa3648"><td class="memItemLeft" align="right" valign="top"><a id="a8ec3b27fd52c60b8f1424b01abaa3648"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>abilities_cached_</b></td></tr>
<tr class="separator:a8ec3b27fd52c60b8f1424b01abaa3648"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4dd852af121f946d7e3ad1ba611fe816"><td class="memItemLeft" align="right" valign="top"><a id="a4dd852af121f946d7e3ad1ba611fe816"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>unit_types_cached</b></td></tr>
<tr class="separator:a4dd852af121f946d7e3ad1ba611fe816"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a97f6013fc1578cc1db1266d39edab7c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97f6013fc1578cc1db1266d39edab7c4">&#9670;&nbsp;</a></span>GetFoodArmy()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int32_t sc2::ObservationImp::GetFoodArmy </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>The total supply consumed by army units alone. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classsc2_1_1_observation_imp.html#a5489d7a3c6095b29c82e835bb3eb2aba">GetFoodUsed()</a> <a class="el" href="classsc2_1_1_observation_imp.html#a88f76eedeac5d81f608b68ca3ff69782">GetFoodWorkers()</a> </dd></dl>

<p>Implements <a class="el" href="classsc2_1_1_observation_interface.html#a7fd13a2a776f08f714d941ba9e4bafa8">sc2::ObservationInterface</a>.</p>

</div>
</div>
<a id="a5e109c30ac039c19bf0c7d3b35bd7ab7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e109c30ac039c19bf0c7d3b35bd7ab7">&#9670;&nbsp;</a></span>GetFoodCap()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int32_t sc2::ObservationImp::GetFoodCap </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>The total supply cap given the players max possible supply. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classsc2_1_1_observation_imp.html#a5489d7a3c6095b29c82e835bb3eb2aba">GetFoodUsed()</a> <a class="el" href="classsc2_1_1_observation_imp.html#a97f6013fc1578cc1db1266d39edab7c4">GetFoodArmy()</a> <a class="el" href="classsc2_1_1_observation_imp.html#a88f76eedeac5d81f608b68ca3ff69782">GetFoodWorkers()</a> </dd></dl>

<p>Implements <a class="el" href="classsc2_1_1_observation_interface.html#ac556f665e6920eb853711c1b7d4d54b3">sc2::ObservationInterface</a>.</p>

</div>
</div>
<a id="a5489d7a3c6095b29c82e835bb3eb2aba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5489d7a3c6095b29c82e835bb3eb2aba">&#9670;&nbsp;</a></span>GetFoodUsed()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int32_t sc2::ObservationImp::GetFoodUsed </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>he total supply used by the player as defined: <a class="el" href="classsc2_1_1_observation_imp.html#a97f6013fc1578cc1db1266d39edab7c4">GetFoodArmy()</a> + <a class="el" href="classsc2_1_1_observation_imp.html#a88f76eedeac5d81f608b68ca3ff69782">GetFoodWorkers()</a>. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classsc2_1_1_observation_imp.html#a97f6013fc1578cc1db1266d39edab7c4">GetFoodArmy()</a> <a class="el" href="classsc2_1_1_observation_imp.html#a88f76eedeac5d81f608b68ca3ff69782">GetFoodWorkers()</a> </dd></dl>

<p>Implements <a class="el" href="classsc2_1_1_observation_interface.html#a77f230bd98b95599338c7788aee00d26">sc2::ObservationInterface</a>.</p>

</div>
</div>
<a id="a88f76eedeac5d81f608b68ca3ff69782"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88f76eedeac5d81f608b68ca3ff69782">&#9670;&nbsp;</a></span>GetFoodWorkers()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int32_t sc2::ObservationImp::GetFoodWorkers </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>The total supply consumed by workers units alone. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="classsc2_1_1_observation_imp.html#a97f6013fc1578cc1db1266d39edab7c4">GetFoodArmy()</a> <a class="el" href="classsc2_1_1_observation_imp.html#a5489d7a3c6095b29c82e835bb3eb2aba">GetFoodUsed()</a> </dd></dl>

<p>Implements <a class="el" href="classsc2_1_1_observation_interface.html#a19f0bdd8df647ee935dbe6f3c50d64e7">sc2::ObservationInterface</a>.</p>

</div>
</div>
<a id="ae0f23420019a31bf108d4ce9eec62cc9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0f23420019a31bf108d4ce9eec62cc9">&#9670;&nbsp;</a></span>GetPreviousUnit()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classsc2_1_1_unit.html">Unit</a> * sc2::ObservationImp::GetPreviousUnit </td>
          <td>(</td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>tag</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Get the unit state as represented by the the call to GetObservation two steps ago. This is useful for calculating deltas between <a class="el" href="classsc2_1_1_unit.html">Unit</a> states. It is unsafe to assume GetUnit and GetPreviousUnit will both necessarily return a <a class="el" href="classsc2_1_1_unit.html">Unit</a> given the same tag. The <a class="el" href="classsc2_1_1_unit.html">Unit</a> may have been created or destroyed in the last step. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">tag</td><td>Unique tag of the unit. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the <a class="el" href="classsc2_1_1_unit.html">Unit</a> object. </dd></dl>

<p>Implements <a class="el" href="classsc2_1_1_observation_interface.html#a8d642207367f3000ca877f5914073bad">sc2::ObservationInterface</a>.</p>

</div>
</div>
<a id="ab77543fa1b95c5e348343129a21c84a3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab77543fa1b95c5e348343129a21c84a3">&#9670;&nbsp;</a></span>GetRawObservation()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const GameStateProtocol::Observation * sc2::ObservationImp::GetRawObservation </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A pointer to the last Observation obtained from GetObservation. While it's possible to extract most in game data from this pointer. </p>
<p>&lt; </p><dl class="section return"><dt>Returns</dt><dd>A const pointer to the Observation. </dd></dl>
<dl class="section see"><dt>See also</dt><dd>Observation GetObservation() </dd></dl>

<p>Implements <a class="el" href="classsc2_1_1_observation_interface.html#af3efed53a1a81ccadf236bab386dd108">sc2::ObservationInterface</a>.</p>

</div>
</div>
<a id="abb210dcc3b4ac518543902d97aee4b10"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb210dcc3b4ac518543902d97aee4b10">&#9670;&nbsp;</a></span>GetUnit()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classsc2_1_1_unit.html">Unit</a> * sc2::ObservationImp::GetUnit </td>
          <td>(</td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>tag</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Get the unit state as represented by the last call to GetObservation. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">tag</td><td>Unique tag of the unit. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the <a class="el" href="classsc2_1_1_unit.html">Unit</a> object. </dd></dl>

<p>Implements <a class="el" href="classsc2_1_1_observation_interface.html#a66018504725c872e817ef0a6d0629f29">sc2::ObservationInterface</a>.</p>

</div>
</div>
<a id="a9ec74a3937ae047dbeb78575c79091d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ec74a3937ae047dbeb78575c79091d4">&#9670;&nbsp;</a></span>GetUnits()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Units sc2::ObservationImp::GetUnits </td>
          <td>(</td>
          <td class="paramtype">Unit::Alliance&#160;</td>
          <td class="paramname"><em>alliance</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="sc2__interfaces_8h.html#af4abbeea3291e718cf2283e1390f3670">Filter</a>&#160;</td>
          <td class="paramname"><em>filter</em> = <code>{}</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Get all units belonging to a certain alliance and in regards to a filter. The <a class="el" href="classsc2_1_1_unit.html">Unit</a> objects returned are simply copies of POD types. Therefore editing that data will not change any in game state. See the <a class="el" href="classsc2_1_1_action_interface.html">ActionInterface</a> for changing <a class="el" href="classsc2_1_1_unit.html">Unit</a> state. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">alliance</td><td>The faction the units belong to. </td></tr>
    <tr><td class="paramname">filter</td><td>A functor or lambda used to filter out any unneeded units in the list. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A list of units that meet the conditions provided by alliance and filter. </dd></dl>

<p>Implements <a class="el" href="classsc2_1_1_observation_interface.html#aa43cfa17a9ac893500bce33eb41e6171">sc2::ObservationInterface</a>.</p>

</div>
</div>
<a id="a0f4061d42b035d297b8a8bd0f73e5241"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f4061d42b035d297b8a8bd0f73e5241">&#9670;&nbsp;</a></span>GetUnitsAdded()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Units &amp; sc2::ObservationImp::GetUnitsAdded </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Gets a list of units added in the previous step. You could also hook into the OnUnitCreated event for this data on a per <a class="el" href="classsc2_1_1_unit.html">Unit</a> basis. </p><dl class="section see"><dt>See also</dt><dd>OnUnitCreated() </dd></dl>

<p>Implements <a class="el" href="classsc2_1_1_observation_interface.html#a30cdffc5d5c87797c5c154fe50bad768">sc2::ObservationInterface</a>.</p>

</div>
</div>
<a id="a6c2fd3bf3abf69dcb868c7cd0a7ffeae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c2fd3bf3abf69dcb868c7cd0a7ffeae">&#9670;&nbsp;</a></span>GetUnitsRemoved()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Units &amp; sc2::ObservationImp::GetUnitsRemoved </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">final</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Gets a list of units added in the previous step. You could also hook into the OnUnitCreated event for this data on a per <a class="el" href="classsc2_1_1_unit.html">Unit</a> basis. </p><dl class="section see"><dt>See also</dt><dd>OnUnitCreated() </dd></dl>

<p>Implements <a class="el" href="classsc2_1_1_observation_interface.html#a656f51b87f1fafeeff37206345793476">sc2::ObservationInterface</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/sc2api/sc2_client.cc</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
